Compiler for Mapping Stream Processing Applications onto Real-Time Heterogeneous Multiprocessor Systems

نویسنده

  • S. J. Geuns
چکیده

Heterogeneous multiprocessors system are employed for power-efficiency reasons in wearable software defined radios. These systems are hardware cost-effective and deliver a superior performance compared to their homogeneous counterparts. However these systems are notoriously hard to program without tool support, which makes it is desirable that programming is simplified with the help of an optimizing multiprocessor compiler for stream processing applications. This demonstration shows our multiprocessor compiler for mapping real-time stream processing applications onto our real-time heterogeneous multi-core system. The applications are described as sequential programs and are compiled into parallel task graphs. Buffer capacities are computed using dataflow analysis techniques given the real-time constraints of the application. Our multi-core system contains 16 MicroBlaze processor cores as well as two hardware accelerators and is prototyped on a Xilinx Virtex-6 FPGA. A connection-less communication ring is used for inter-processor communication. Our system is equipped with an analog RF front-end, which enables us to demonstrate PAL-video reception and decoding. 1. REAL-TIME MULTIPROCESSOR COMPILER The input of our compiler Omphale [2] is a sequential program written in the coordination language OIL. The OIL language has the look and feel of the C-programming language but excludes the use of pointers, recursion and dynamic memory allocation at the top level. As a result the compiler can always perform dependency analysis at array granularity and can compute memory usage at compile time. OIL programs can contain arbitrary if-statements, whileloops and array index expressions such that stream processing applications with modes can be described. The compiler translates an OIL program into a parallel tasks graph. It is guaranteed by construction that this task graph is deadlock free because a sequential OIL program is by definition deadlock free. Besides the parallel task graph a structured VPDF model [2] is generated for real-time analysis. Such model allows for dynamic applications and can be efficiently analysed due to its structure. 2. HETEROGENEOUS MULTI-CORE PLATFORM The main target of our compiler is our heterogeneous multi-core system Starburst [1]. This system contains 16 MicroBlaze processor cores and 2 hardware accelerators. The hardware accelerators process streams and communicate via FIFOs with tasks that run on the MicroBlaze cores. Only starvation-free schedulers are employed in our multicore system which simplifies dataflow analysis. By making use of starvation-free schedulers the analysis problem can be linearised without a significant loss in accuracy of the analysis results [3]. Interprocessor communication is realised using a low-cost communication ring that supports point-to-point communication. The applied slot reservation mechanism of this ring enables the derivation of application level performance guarantees. Slots which are reserved for one processor but are not used by it can be claimed by other processors which makes this ring work-conservering. While the system is optimized for stream processing applications it is also suitable for Pthread applications by making use of a software layer that enables to abstract from the memory model of the hardware [4]. The multiprocessor system is extensively used as an experimental platform for the real-time systems course at the University of Twente. Besides stream processing applications also graphics applications and games have been developed for this system. 3. DEMONSTRATED APPLICATIONS The capabilities of the platform are shown using a realtime PAL video decoder application that processes a live video stream. This application consists of 16 tasks of which two tasks are executed by a hardware accelerator. Furthermore, the capabilities of our compiler are demonstrated by making use of several didactical applications described in OIL.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic parallelization of nested loop programs for non-manifest real-time stream processing applications

This thesis is concerned with the automatic parallelization of real-time stream processing applications, such that they can be executed on embedded multiprocessor systems. Stream processing applications can be encountered in the channel decoding and video decoding domain. These applications typically have real-time requirements. Important trends for stream processing applications are that they ...

متن کامل

Communication-aware Heterogeneous Multiprocessor Mapping for Real-time Streaming Systems

Real-time streaming signal processing systems typically desire high throughput and low latency. Many such systems can be modeled as synchronous data flow graphs. In this paper, we address the problem of multi-objective mapping of SDF graphs onto heterogeneous multiprocessor platforms, where we account for the overhead of bus-based inter-processor communication. The primary contributions include...

متن کامل

Specification and Compilation of Real-Time Stream Processing Applications

This thesis is concerned with the speciVcation, compilation and corresponding temporal analysis of real-time stream processing applications that are executed on Multiprocessor System-on-Chips (MPSoCs). Examples of stream processing applications are software deVned radio applications and video processing applications. Such applications typically have real-time requirements in the form of through...

متن کامل

Aperiodic multiprocessor scheduling for real-time stream processing applications

This thesis is concerned with the computation of buffer capacities that guarantee satisfaction of timing and resource constraints for task graphs with aperiodic task execution rates that are executed on run-time scheduled resources. Stream processing applications such as digital radio baseband processing and audio or video decoders are often firm real-time embedded systems. For a real-time embe...

متن کامل

An Efficient Genetic Algorithm for Task Scheduling on Heterogeneous Computing Systems Based on TRIZ

An efficient assignment and scheduling of tasks is one of the key elements in effective utilization of heterogeneous multiprocessor systems. The task scheduling problem has been proven to be NP-hard is the reason why we used meta-heuristic methods for finding a suboptimal schedule. In this paper we proposed a new approach using TRIZ (specially 40 inventive principles). The basic idea of thi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014